package com.blackandwhitesensation.sice.modelo.control;

import com.blackandwhitesensation.sice.modelo.Membresia;
import com.blackandwhitesensation.sice.modelo.MembresiaId;
import com.blackandwhitesensation.sice.modelo.dto.MembresiaDTO;

import java.math.BigDecimal;

import java.util.*;
import java.util.Date;
import java.util.List;
import java.util.Set;


/**
 *
 * @author Zathura Code Generator http://code.google.com/p/zathura/
 *
 */
public interface IMembresiaLogic {
    public List<Membresia> getMembresia() throws Exception;

    public void saveMembresia(Long numeroTarjeta, String alias, Date fechaFin,
        Date fechaInicio, Long idContrato, Long idTipoMembresia_TipoMembresia,
        String alias_Usuario) throws Exception;

    public void deleteMembresia(Long numeroTarjeta, String alias)
        throws Exception;

    public void updateMembresia(Long numeroTarjeta, String alias,
        Date fechaFin, Date fechaInicio, Long idContrato,
        Long idTipoMembresia_TipoMembresia, String alias_Usuario)
        throws Exception;

    public Membresia getMembresia(MembresiaId id) throws Exception;

    public List<Membresia> findByCriteria(Object[] variables,
        Object[] variablesBetween, Object[] variablesBetweenDates)
        throws Exception;

    public List<Membresia> findPageMembresia(String sortColumnName,
        boolean sortAscending, int startRow, int maxResults)
        throws Exception;

    public Long findTotalNumberMembresia() throws Exception;

    public List<MembresiaDTO> getDataMembresia() throws Exception;
    
    //M@AURICIO
    public void guardarMembresia(Long numeroTarjeta, String alias,Long tipoMembresia,Date fechaInicio,Date fechaFin, Long idContrato ) throws Exception;
    //M@URICIO
    public Membresia getMembresiaNumeroTarjeta(Long numeroTarjeta)throws Exception;
    //M@URICIO
    public void modificarMembresia(Long numeroTarjeta,String alias ,Long tipoMembresia,Date fechaFin,Long idContrato) throws Exception;
    
}
